The storage devices currently employed by database management systems (“DBMS”) have a wide range of performance characteristics with respect to sequential and random data access. For example, solid state disks (“SSD”) provide much faster random access time to data compared to hard drives (“HDD”). For a given database workload, some database objects (tables, indexes, materialized views, etc.) are accessed in a random fashion more than others. The relative performance of sequential data access of the various devices is also important. In a DBMS with access to both HDD and SSD storage devices, a database administrator needs to decide on which device to place each object such as to optimize the performance. Under storage capacity constraints, it may not be possible to place the entire database on the fastest device. Also, faster devices are usually more expensive, so there is an inherent tradeoff between price and performance. A Data Base Administrator (DBA) might use heuristics such as placing indexes on SSD devices and the data on HDD drives. However, these approaches generally cannot guarantee the best performance for a given budget.